/**
 * @author : HESS MArjorie, THUILLIER Jules, G4 - CIP2
 */
package ArbreBinaire;

import linkTreeInterface.Word;


/*
 * Cette interface générique décrit les fonctions du type abstrait
 * « arbre binaire ».
 */
public interface ArbreBinaire<T> {
	public boolean estVide();
	public boolean estUneFeuille() throws ArbreVideException;
	public ArbreBinaire<T> sag() throws ArbreVideException;
	public ArbreBinaire<T> sad() throws ArbreVideException;
	public void changerSag(ArbreBinaire<T> g);
	public void changerSad(ArbreBinaire<T> d);
	public T valeur() throws ArbreVideException;
	public void ecrireArbre(String d) throws ArbreVideException;
	public int hauteur() throws ArbreVideException;
	public boolean estMiroir(ArbreBinaire<T> a) throws ArbreVideException; 
	public boolean estComplet() throws ArbreVideException;
	public ArbreBinaire<T> creerMiroir() throws ArbreVideException ;
	public String findTrad(ArbreBinaire<Word> sad, String mot);
	public void valeur(T valeur);
}